From: Andrew Cooper Date: Tue, 4 Mar 2014 10:14:53 +0000 (+0100) Subject: x86/crash: fix up declaration of do_nmi_crash() X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~5523 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22?a=commitdiff_plain;h=8179247eaec09a3e2c6bec6d251af4b74ce09b08;p=xen.git x86/crash: fix up declaration of do_nmi_crash() ... so it can correctly be annotated as noreturn. Move the declaration of nmi_crash() to be effectively private in crash.c Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich Reviewed-by: Tim Deegan Acked-by: Keir Fraser --- diff --git a/xen/arch/x86/crash.c b/xen/arch/x86/crash.c index 01fd906fd9..ec586bd22f 100644 --- a/xen/arch/x86/crash.c +++ b/xen/arch/x86/crash.c @@ -36,7 +36,7 @@ static unsigned int crashing_cpu; static DEFINE_PER_CPU_READ_MOSTLY(bool_t, crash_save_done); /* This becomes the NMI handler for non-crashing CPUs, when Xen is crashing. */ -void __attribute__((noreturn)) do_nmi_crash(struct cpu_user_regs *regs) +void do_nmi_crash(struct cpu_user_regs *regs) { int cpu = smp_processor_id(); @@ -113,6 +113,7 @@ void __attribute__((noreturn)) do_nmi_crash(struct cpu_user_regs *regs) halt(); } +void nmi_crash(void); static void nmi_shootdown_cpus(void) { unsigned long msecs; diff --git a/xen/include/asm-x86/processor.h b/xen/include/asm-x86/processor.h index f1cccffc9f..4629b32073 100644 --- a/xen/include/asm-x86/processor.h +++ b/xen/include/asm-x86/processor.h @@ -530,7 +530,6 @@ void do_ ## _name(struct cpu_user_regs *regs) DECLARE_TRAP_HANDLER(divide_error); DECLARE_TRAP_HANDLER(debug); DECLARE_TRAP_HANDLER(nmi); -DECLARE_TRAP_HANDLER(nmi_crash); DECLARE_TRAP_HANDLER(int3); DECLARE_TRAP_HANDLER(overflow); DECLARE_TRAP_HANDLER(bounds); @@ -551,6 +550,7 @@ DECLARE_TRAP_HANDLER(spurious_interrupt_bug); void trap_nop(void); void enable_nmis(void); +void __attribute__((noreturn)) do_nmi_crash(struct cpu_user_regs *regs); void syscall_enter(void); void sysenter_entry(void);